home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Database Designers / Rational Rose 2000 / Rational Setup.EXE / common / lib / MSWin32-x86 / CORE / proto.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  35.8 KB  |  903 lines

  1. #ifndef PERL_CALLCONV
  2. #  define PERL_CALLCONV
  3. #endif 
  4.  
  5. #ifdef PERL_OBJECT
  6. #define VIRTUAL virtual PERL_CALLCONV
  7. #else
  8. #define VIRTUAL PERL_CALLCONV
  9. START_EXTERN_C
  10. #endif
  11.  
  12. /* NOTE!!! When new virtual functions are added, they must be added at
  13.  * the end of this file to maintain binary compatibility with PERL_OBJECT
  14.  */
  15.  
  16.  
  17. #ifndef NEXT30_NO_ATTRIBUTE
  18. #ifndef HASATTRIBUTE       /* disable GNU-cc attribute checking? */
  19. #ifdef  __attribute__      /* Avoid possible redefinition errors */
  20. #undef  __attribute__
  21. #endif
  22. #define __attribute__(attr)
  23. #endif
  24. #endif
  25. #ifdef OVERLOAD
  26. VIRTUAL SV*    amagic_call _((SV* left,SV* right,int method,int dir));
  27. VIRTUAL bool    Gv_AMupdate _((HV* stash));
  28. #endif /* OVERLOAD */
  29. VIRTUAL OP*    append_elem _((I32 optype, OP* head, OP* tail));
  30. VIRTUAL OP*    append_list _((I32 optype, LISTOP* first, LISTOP* last));
  31. VIRTUAL I32    apply _((I32 type, SV** mark, SV** sp));
  32. VIRTUAL void    assertref _((OP* o));
  33. VIRTUAL bool    avhv_exists_ent _((AV *ar, SV* keysv, U32 hash));
  34. VIRTUAL SV**    avhv_fetch_ent _((AV *ar, SV* keysv, I32 lval, U32 hash));
  35. VIRTUAL HE*    avhv_iternext _((AV *ar));
  36. VIRTUAL SV*    avhv_iterval _((AV *ar, HE* entry));
  37. VIRTUAL HV*    avhv_keys _((AV *ar));
  38. VIRTUAL void    av_clear _((AV* ar));
  39. VIRTUAL void    av_extend _((AV* ar, I32 key));
  40. VIRTUAL AV*    av_fake _((I32 size, SV** svp));
  41. VIRTUAL SV**    av_fetch _((AV* ar, I32 key, I32 lval));
  42. VIRTUAL void    av_fill _((AV* ar, I32 fill));
  43. VIRTUAL I32    av_len _((AV* ar));
  44. VIRTUAL AV*    av_make _((I32 size, SV** svp));
  45. VIRTUAL SV*    av_pop _((AV* ar));
  46. VIRTUAL void    av_push _((AV* ar, SV* val));
  47. VIRTUAL void    av_reify _((AV* ar));
  48. VIRTUAL SV*    av_shift _((AV* ar));
  49. VIRTUAL SV**    av_store _((AV* ar, I32 key, SV* val));
  50. VIRTUAL void    av_undef _((AV* ar));
  51. VIRTUAL void    av_unshift _((AV* ar, I32 num));
  52. VIRTUAL OP*    bind_match _((I32 type, OP* left, OP* pat));
  53. VIRTUAL OP*    block_end _((I32 floor, OP* seq));
  54. VIRTUAL I32    block_gimme _((void));
  55. VIRTUAL int    block_start _((int full));
  56. VIRTUAL void    boot_core_UNIVERSAL _((void));
  57. VIRTUAL void    call_list _((I32 oldscope, AV* av_list));
  58. VIRTUAL I32    cando _((I32 bit, I32 effective, Stat_t* statbufp));
  59. #ifndef CASTNEGFLOAT
  60. VIRTUAL U32    cast_ulong _((double f));
  61. #endif
  62. #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
  63. VIRTUAL I32    my_chsize _((int fd, Off_t length));
  64. #endif
  65. VIRTUAL OP*    ck_gvconst _((OP*  o));
  66. VIRTUAL OP*    ck_retarget _((OP* o));
  67. #ifdef USE_THREADS
  68. VIRTUAL MAGIC *    condpair_magic _((SV *sv));
  69. #endif
  70. VIRTUAL OP*    convert _((I32 optype, I32 flags, OP* o));
  71. VIRTUAL void    croak _((const char* pat,...)) __attribute__((noreturn));
  72. VIRTUAL void    cv_ckproto _((CV* cv, GV* gv, char* p));
  73. VIRTUAL CV*    cv_clone _((CV* proto));
  74. VIRTUAL SV*    cv_const_sv _((CV* cv));
  75. VIRTUAL SV*    op_const_sv _((OP* o, CV* cv));
  76. VIRTUAL void    cv_undef _((CV* cv));
  77. VIRTUAL void    cx_dump _((PERL_CONTEXT* cs));
  78. VIRTUAL SV*    filter_add _((filter_t funcp, SV* datasv));
  79. VIRTUAL void    filter_del _((filter_t funcp));
  80. VIRTUAL I32    filter_read _((int idx, SV* buffer, int maxlen));
  81. VIRTUAL char **    get_op_descs _((void));
  82. VIRTUAL char **    get_op_names _((void));
  83. VIRTUAL char *    get_no_modify _((void));
  84. VIRTUAL U32 *    get_opargs _((void));
  85. VIRTUAL I32    cxinc _((void));
  86. VIRTUAL void    deb _((const char* pat,...));
  87. VIRTUAL void    deb_growlevel _((void));
  88. VIRTUAL void    debprofdump _((void));
  89. VIRTUAL I32    debop _((OP* o));
  90. VIRTUAL I32    debstack _((void));
  91. VIRTUAL I32    debstackptrs _((void));
  92. VIRTUAL char*    delimcpy _((char* to, char* toend, char* from, char* fromend,
  93.             int delim, I32* retlen));
  94. VIRTUAL void    deprecate _((char* s));
  95. VIRTUAL OP*    die _((const char* pat,...));
  96. VIRTUAL OP*    die_where _((char* message));
  97. VIRTUAL void    dounwind _((I32 cxix));
  98. VIRTUAL bool    do_aexec _((SV* really, SV** mark, SV** sp));
  99. VIRTUAL int    do_binmode _((PerlIO *fp, int iotype, int flag));
  100. VIRTUAL void    do_chop _((SV* asv, SV* sv));
  101. VIRTUAL bool    do_close _((GV* gv, bool not_implicit));
  102. VIRTUAL bool    do_eof _((GV* gv));
  103. VIRTUAL bool    do_exec _((char* cmd));
  104. VIRTUAL void    do_execfree _((void));
  105. #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
  106. I32    do_ipcctl _((I32 optype, SV** mark, SV** sp));
  107. I32    do_ipcget _((I32 optype, SV** mark, SV** sp));
  108. #endif
  109. VIRTUAL void    do_join _((SV* sv, SV* del, SV** mark, SV** sp));
  110. VIRTUAL OP*    do_kv _((ARGSproto));
  111. #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
  112. I32    do_msgrcv _((SV** mark, SV** sp));
  113. I32    do_msgsnd _((SV** mark, SV** sp));
  114. #endif
  115. VIRTUAL bool    do_open _((GV* gv, char* name, I32 len,
  116.            int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp));
  117. VIRTUAL void    do_pipe _((SV* sv, GV* rgv, GV* wgv));
  118. VIRTUAL bool    do_print _((SV* sv, PerlIO* fp));
  119. VIRTUAL OP*    do_readline _((void));
  120. VIRTUAL I32    do_chomp _((SV* sv));
  121. VIRTUAL bool    do_seek _((GV* gv, long pos, int whence));
  122. #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
  123. I32    do_semop _((SV** mark, SV** sp));
  124. I32    do_shmio _((I32 optype, SV** mark, SV** sp));
  125. #endif
  126. VIRTUAL void    do_sprintf _((SV* sv, I32 len, SV** sarg));
  127. VIRTUAL long    do_sysseek _((GV* gv, long pos, int whence));
  128. VIRTUAL long    do_tell _((GV* gv));
  129. VIRTUAL I32    do_trans _((SV* sv, OP* arg));
  130. VIRTUAL void    do_vecset _((SV* sv));
  131. VIRTUAL void    do_vop _((I32 optype, SV* sv, SV* left, SV* right));
  132. VIRTUAL I32    dowantarray _((void));
  133. VIRTUAL void    dump_all _((void));
  134. VIRTUAL void    dump_eval _((void));
  135. #ifdef DUMP_FDS  /* See util.c */
  136. VIRTUAL void    dump_fds _((char* s));
  137. #endif
  138. VIRTUAL void    dump_form _((GV* gv));
  139. VIRTUAL void    dump_gv _((GV* gv));
  140. #ifdef MYMALLOC
  141. VIRTUAL void    dump_mstats _((char* s));
  142. #endif
  143. VIRTUAL void    dump_op _((OP* arg));
  144. VIRTUAL void    dump_pm _((PMOP* pm));
  145. VIRTUAL void    dump_packsubs _((HV* stash));
  146. VIRTUAL void    dump_sub _((GV* gv));
  147. VIRTUAL void    fbm_compile _((SV* sv, U32 flags));
  148. VIRTUAL char*    fbm_instr _((unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags));
  149. VIRTUAL char*    find_script _((char *scriptname, bool dosearch, char **search_ext, I32 flags));
  150. #ifdef USE_THREADS
  151. VIRTUAL PADOFFSET    find_threadsv _((char *name));
  152. #endif
  153. VIRTUAL OP*    force_list _((OP* arg));
  154. VIRTUAL OP*    fold_constants _((OP* arg));
  155. VIRTUAL char*    form _((const char* pat, ...));
  156. VIRTUAL void    free_tmps _((void));
  157. VIRTUAL OP*    gen_constant_list _((OP* o));
  158. VIRTUAL void    gp_free _((GV* gv));
  159. VIRTUAL GP*    gp_ref _((GP* gp));
  160. VIRTUAL GV*    gv_AVadd _((GV* gv));
  161. VIRTUAL GV*    gv_HVadd _((GV* gv));
  162. VIRTUAL GV*    gv_IOadd _((GV* gv));
  163. VIRTUAL GV*    gv_autoload4 _((HV* stash, char* name, STRLEN len, I32 method));
  164. VIRTUAL void    gv_check _((HV* stash));
  165. VIRTUAL void    gv_efullname _((SV* sv, GV* gv));
  166. VIRTUAL void    gv_efullname3 _((SV* sv, GV* gv, char* prefix));
  167. VIRTUAL GV*    gv_fetchfile _((char* name));
  168. VIRTUAL GV*    gv_fetchmeth _((HV* stash, char* name, STRLEN len, I32 level));
  169. VIRTUAL GV*    gv_fetchmethod _((HV* stash, char* name));
  170. VIRTUAL GV*    gv_fetchmethod_autoload _((HV* stash, char* name, I32 autoload));
  171. VIRTUAL GV*    gv_fetchpv _((char* name, I32 add, I32 sv_type));
  172. VIRTUAL void    gv_fullname _((SV* sv, GV* gv));
  173. VIRTUAL void    gv_fullname3 _((SV* sv, GV* gv, char* prefix));
  174. VIRTUAL void    gv_init _((GV* gv, HV* stash, char* name, STRLEN len, int multi));
  175. VIRTUAL HV*    gv_stashpv _((char* name, I32 create));
  176. VIRTUAL HV*    gv_stashpvn _((char* name, U32 namelen, I32 create));
  177. VIRTUAL HV*    gv_stashsv _((SV* sv, I32 create));
  178. VIRTUAL void    hv_clear _((HV* tb));
  179. VIRTUAL void    hv_delayfree_ent _((HV* hv, HE* entry));
  180. VIRTUAL SV*    hv_delete _((HV* tb, char* key, U32 klen, I32 flags));
  181. VIRTUAL SV*    hv_delete_ent _((HV* tb, SV* key, I32 flags, U32 hash));
  182. VIRTUAL bool    hv_exists _((HV* tb, char* key, U32 klen));
  183. VIRTUAL bool    hv_exists_ent _((HV* tb, SV* key, U32 hash));
  184. VIRTUAL SV**    hv_fetch _((HV* tb, char* key, U32 klen, I32 lval));
  185. VIRTUAL HE*    hv_fetch_ent _((HV* tb, SV* key, I32 lval, U32 hash));
  186. VIRTUAL void    hv_free_ent _((HV* hv, HE* entry));
  187. VIRTUAL I32    hv_iterinit _((HV* tb));
  188. VIRTUAL char*    hv_iterkey _((HE* entry, I32* retlen));
  189. VIRTUAL SV*    hv_iterkeysv _((HE* entry));
  190. VIRTUAL HE*    hv_iternext _((HV* tb));
  191. VIRTUAL SV*    hv_iternextsv _((HV* hv, char** key, I32* retlen));
  192. VIRTUAL SV*    hv_iterval _((HV* tb, HE* entry));
  193. VIRTUAL void    hv_ksplit _((HV* hv, IV newmax));
  194. VIRTUAL void    hv_magic _((HV* hv, GV* gv, int how));
  195. VIRTUAL SV**    hv_store _((HV* tb, char* key, U32 klen, SV* val, U32 hash));
  196. VIRTUAL HE*    hv_store_ent _((HV* tb, SV* key, SV* val, U32 hash));
  197. VIRTUAL void    hv_undef _((HV* tb));
  198. VIRTUAL I32    ibcmp _((char* a, char* b, I32 len));
  199. VIRTUAL I32    ibcmp_locale _((char* a, char* b, I32 len));
  200. VIRTUAL I32    ingroup _((I32 testgid, I32 effective));
  201. VIRTUAL void    init_stacks _((ARGSproto));
  202. VIRTUAL U32    intro_my _((void));
  203. VIRTUAL char*    instr _((char* big, char* little));
  204. VIRTUAL bool    io_close _((IO* io));
  205. VIRTUAL OP*    invert _((OP* cmd));
  206. VIRTUAL OP*    jmaybe _((OP* arg));
  207. VIRTUAL I32    keyword _((char* d, I32 len));
  208. VIRTUAL void    leave_scope _((I32 base));
  209. VIRTUAL void    lex_end _((void));
  210. VIRTUAL void    lex_start _((SV* line));
  211. VIRTUAL OP*    linklist _((OP* o));
  212. VIRTUAL OP*    list _((OP* o));
  213. VIRTUAL OP*    listkids _((OP* o));
  214. VIRTUAL OP*    localize _((OP* arg, I32 lexical));
  215. VIRTUAL I32    looks_like_number _((SV* sv));
  216. VIRTUAL int    magic_clearenv    _((SV* sv, MAGIC* mg));
  217. VIRTUAL int    magic_clear_all_env _((SV* sv, MAGIC* mg));
  218. VIRTUAL int    magic_clearpack    _((SV* sv, MAGIC* mg));
  219. VIRTUAL int    magic_clearsig    _((SV* sv, MAGIC* mg));
  220. VIRTUAL int    magic_existspack _((SV* sv, MAGIC* mg));
  221. VIRTUAL int    magic_freeregexp _((SV* sv, MAGIC* mg));
  222. VIRTUAL int    magic_get    _((SV* sv, MAGIC* mg));
  223. VIRTUAL int    magic_getarylen    _((SV* sv, MAGIC* mg));
  224. VIRTUAL int    magic_getdefelem _((SV* sv, MAGIC* mg));
  225. VIRTUAL int    magic_getglob    _((SV* sv, MAGIC* mg));
  226. VIRTUAL int    magic_getnkeys    _((SV* sv, MAGIC* mg));
  227. VIRTUAL int    magic_getpack    _((SV* sv, MAGIC* mg));
  228. VIRTUAL int    magic_getpos    _((SV* sv, MAGIC* mg));
  229. VIRTUAL int    magic_getsig    _((SV* sv, MAGIC* mg));
  230. VIRTUAL int    magic_getsubstr    _((SV* sv, MAGIC* mg));
  231. VIRTUAL int    magic_gettaint    _((SV* sv, MAGIC* mg));
  232. VIRTUAL int    magic_getuvar    _((SV* sv, MAGIC* mg));
  233. VIRTUAL int    magic_getvec    _((SV* sv, MAGIC* mg));
  234. VIRTUAL U32    magic_len    _((SV* sv, MAGIC* mg));
  235. #ifdef USE_THREADS
  236. VIRTUAL int    magic_mutexfree    _((SV* sv, MAGIC* mg));
  237. #endif /* USE_THREADS */
  238. VIRTUAL int    magic_nextpack    _((SV* sv, MAGIC* mg, SV* key));
  239. VIRTUAL int    magic_set    _((SV* sv, MAGIC* mg));
  240. #ifdef OVERLOAD
  241. VIRTUAL int    magic_setamagic    _((SV* sv, MAGIC* mg));
  242. #endif /* OVERLOAD */
  243. VIRTUAL int    magic_setarylen    _((SV* sv, MAGIC* mg));
  244. VIRTUAL int    magic_setbm    _((SV* sv, MAGIC* mg));
  245. VIRTUAL int    magic_setdbline    _((SV* sv, MAGIC* mg));
  246. #ifdef USE_LOCALE_COLLATE
  247. VIRTUAL int    magic_setcollxfrm _((SV* sv, MAGIC* mg));
  248. #endif
  249. VIRTUAL int    magic_setdefelem _((SV* sv, MAGIC* mg));
  250. VIRTUAL int    magic_setenv    _((SV* sv, MAGIC* mg));
  251. VIRTUAL int    magic_setfm    _((SV* sv, MAGIC* mg));
  252. VIRTUAL int    magic_setisa    _((SV* sv, MAGIC* mg));
  253. VIRTUAL int    magic_setglob    _((SV* sv, MAGIC* mg));
  254. VIRTUAL int    magic_setmglob    _((SV* sv, MAGIC* mg));
  255. VIRTUAL int    magic_setnkeys    _((SV* sv, MAGIC* mg));
  256. VIRTUAL int    magic_setpack    _((SV* sv, MAGIC* mg));
  257. VIRTUAL int    magic_setpos    _((SV* sv, MAGIC* mg));
  258. VIRTUAL int    magic_setsig    _((SV* sv, MAGIC* mg));
  259. VIRTUAL int    magic_setsubstr    _((SV* sv, MAGIC* mg));
  260. VIRTUAL int    magic_settaint    _((SV* sv, MAGIC* mg));
  261. VIRTUAL int    magic_setuvar    _((SV* sv, MAGIC* mg));
  262. VIRTUAL int    magic_setvec    _((SV* sv, MAGIC* mg));
  263. VIRTUAL int    magic_set_all_env _((SV* sv, MAGIC* mg));
  264. VIRTUAL U32    magic_sizepack    _((SV* sv, MAGIC* mg));
  265. VIRTUAL int    magic_wipepack    _((SV* sv, MAGIC* mg));
  266. VIRTUAL void    magicname _((char* sym, char* name, I32 namlen));
  267. int    main _((int argc, char** argv, char** env));
  268. #ifdef MYMALLOC
  269. VIRTUAL MEM_SIZE    malloced_size _((void *p));
  270. #endif
  271. VIRTUAL void    markstack_grow _((void));
  272. #ifdef USE_LOCALE_COLLATE
  273. VIRTUAL char*    mem_collxfrm _((const char* s, STRLEN len, STRLEN* xlen));
  274. #endif
  275. VIRTUAL char*    mess _((const char* pat, va_list* args));
  276. VIRTUAL int    mg_clear _((SV* sv));
  277. VIRTUAL int    mg_copy _((SV* sv, SV* nsv, char* key, I32 klen));
  278. VIRTUAL MAGIC*    mg_find _((SV* sv, int type));
  279. VIRTUAL int    mg_free _((SV* sv));
  280. VIRTUAL int    mg_get _((SV* sv));
  281. VIRTUAL U32    mg_length _((SV* sv));
  282. VIRTUAL void    mg_magical _((SV* sv));
  283. VIRTUAL int    mg_set _((SV* sv));
  284. VIRTUAL I32    mg_size _((SV* sv));
  285. VIRTUAL OP*    mod _((OP* o, I32 type));
  286. VIRTUAL char*    moreswitches _((char* s));
  287. VIRTUAL OP*    my _((OP* o));
  288. #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
  289. VIRTUAL char*    my_bcopy _((char* from, char* to, I32 len));
  290. #endif
  291. #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
  292. char*    my_bzero _((char* loc, I32 len));
  293. #endif
  294. VIRTUAL void    my_exit _((U32 status)) __attribute__((noreturn));
  295. VIRTUAL void    my_failure_exit _((void)) __attribute__((noreturn));
  296. VIRTUAL I32    my_lstat _((ARGSproto));
  297. #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
  298. VIRTUAL I32    my_memcmp _((char* s1, char* s2, I32 len));
  299. #endif
  300. #if !defined(HAS_MEMSET)
  301. VIRTUAL void*    my_memset _((char* loc, I32 ch, I32 len));
  302. #endif
  303. #ifndef PERL_OBJECT
  304. VIRTUAL I32    my_pclose _((PerlIO* ptr));
  305. VIRTUAL PerlIO*    my_popen _((char* cmd, char* mode));
  306. #endif
  307. VIRTUAL void    my_setenv _((char* nam, char* val));
  308. VIRTUAL I32    my_stat _((ARGSproto));
  309. #ifdef MYSWAP
  310. VIRTUAL short    my_swap _((short s));
  311. VIRTUAL long    my_htonl _((long l));
  312. VIRTUAL long    my_ntohl _((long l));
  313. #endif
  314. VIRTUAL void    my_unexec _((void));
  315. VIRTUAL OP*    newANONLIST _((OP* o));
  316. VIRTUAL OP*    newANONHASH _((OP* o));
  317. VIRTUAL OP*    newANONSUB _((I32 floor, OP* proto, OP* block));
  318. VIRTUAL OP*    newASSIGNOP _((I32 flags, OP* left, I32 optype, OP* right));
  319. VIRTUAL OP*    newCONDOP _((I32 flags, OP* expr, OP* trueop, OP* falseop));
  320. VIRTUAL void    newCONSTSUB _((HV* stash, char* name, SV* sv));
  321. VIRTUAL void    newFORM _((I32 floor, OP* o, OP* block));
  322. VIRTUAL OP*    newFOROP _((I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont));
  323. VIRTUAL OP*    newLOGOP _((I32 optype, I32 flags, OP* left, OP* right));
  324. VIRTUAL OP*    newLOOPEX _((I32 type, OP* label));
  325. VIRTUAL OP*    newLOOPOP _((I32 flags, I32 debuggable, OP* expr, OP* block));
  326. VIRTUAL OP*    newNULLLIST _((void));
  327. VIRTUAL OP*    newOP _((I32 optype, I32 flags));
  328. VIRTUAL void    newPROG _((OP* o));
  329. VIRTUAL OP*    newRANGE _((I32 flags, OP* left, OP* right));
  330. VIRTUAL OP*    newSLICEOP _((I32 flags, OP* subscript, OP* list));
  331. VIRTUAL OP*    newSTATEOP _((I32 flags, char* label, OP* o));
  332. VIRTUAL CV*    newSUB _((I32 floor, OP* o, OP* proto, OP* block));
  333. VIRTUAL CV*    newXS _((char* name, void (*subaddr)(CV* cv _CPERLproto), char* filename));
  334. VIRTUAL AV*    newAV _((void));
  335. VIRTUAL OP*    newAVREF _((OP* o));
  336. VIRTUAL OP*    newBINOP _((I32 type, I32 flags, OP* first, OP* last));
  337. VIRTUAL OP*    newCVREF _((I32 flags, OP* o));
  338. VIRTUAL OP*    newGVOP _((I32 type, I32 flags, GV* gv));
  339. VIRTUAL GV*    newGVgen _((char* pack));
  340. VIRTUAL OP*    newGVREF _((I32 type, OP* o));
  341. VIRTUAL OP*    newHVREF _((OP* o));
  342. VIRTUAL HV*    newHV _((void));
  343. VIRTUAL HV*    newHVhv _((HV* hv));
  344. VIRTUAL IO*    newIO _((void));
  345. VIRTUAL OP*    newLISTOP _((I32 type, I32 flags, OP* first, OP* last));
  346. VIRTUAL OP*    newPMOP _((I32 type, I32 flags));
  347. VIRTUAL OP*    newPVOP _((I32 type, I32 flags, char* pv));
  348. VIRTUAL SV*    newRV _((SV* pref));
  349. VIRTUAL SV*    newRV_noinc _((SV *sv));
  350. VIRTUAL SV*    newSV _((STRLEN len));
  351. VIRTUAL OP*    newSVREF _((OP* o));
  352. VIRTUAL OP*    newSVOP _((I32 type, I32 flags, SV* sv));
  353. VIRTUAL SV*    newSViv _((IV i));
  354. VIRTUAL SV*    newSVnv _((double n));
  355. VIRTUAL SV*    newSVpv _((char* s, STRLEN len));
  356. VIRTUAL SV*    newSVpvn _((char *s, STRLEN len));
  357. VIRTUAL SV*    newSVpvf _((const char* pat, ...));
  358. VIRTUAL SV*    newSVrv _((SV* rv, char* classname));
  359. VIRTUAL SV*    newSVsv _((SV* old));
  360. VIRTUAL OP*    newUNOP _((I32 type, I32 flags, OP* first));
  361. VIRTUAL OP*    newWHILEOP _((I32 flags, I32 debuggable, LOOP* loop,
  362.               I32 whileline, OP* expr, OP* block, OP* cont));
  363. #ifdef USE_THREADS
  364. VIRTUAL struct perl_thread *    new_struct_thread _((struct perl_thread *t));
  365. #endif
  366. VIRTUAL PERL_SI *    new_stackinfo _((I32 stitems, I32 cxitems));
  367. VIRTUAL PerlIO*    nextargv _((GV* gv));
  368. VIRTUAL char*    ninstr _((char* big, char* bigend, char* little, char* lend));
  369. VIRTUAL OP*    oopsCV _((OP* o));
  370. VIRTUAL void    op_free _((OP* arg));
  371. VIRTUAL void    package _((OP* o));
  372. VIRTUAL PADOFFSET    pad_alloc _((I32 optype, U32 tmptype));
  373. VIRTUAL PADOFFSET    pad_allocmy _((char* name));
  374. VIRTUAL PADOFFSET    pad_findmy _((char* name));
  375. VIRTUAL OP*    oopsAV _((OP* o));
  376. VIRTUAL OP*    oopsHV _((OP* o));
  377. VIRTUAL void    pad_leavemy _((I32 fill));
  378. VIRTUAL SV*    pad_sv _((PADOFFSET po));
  379. VIRTUAL void    pad_free _((PADOFFSET po));
  380. VIRTUAL void    pad_reset _((void));
  381. VIRTUAL void    pad_swipe _((PADOFFSET po));
  382. VIRTUAL void    peep _((OP* o));
  383. #ifndef PERL_OBJECT
  384. PerlInterpreter*    perl_alloc _((void));
  385. #endif
  386. #ifdef PERL_OBJECT
  387. VIRTUAL void    perl_atexit _((void(*fn)(CPerlObj *, void *), void* ptr));
  388. #else
  389. void    perl_atexit _((void(*fn)(void *), void*));
  390. #endif
  391. VIRTUAL I32    perl_call_argv _((char* sub_name, I32 flags, char** argv));
  392. VIRTUAL I32    perl_call_method _((char* methname, I32 flags));
  393. VIRTUAL I32    perl_call_pv _((char* sub_name, I32 flags));
  394. VIRTUAL I32    perl_call_sv _((SV* sv, I32 flags));
  395. #ifdef PERL_OBJECT
  396. VIRTUAL void    perl_construct _((void));
  397. VIRTUAL void    perl_destruct _((void));
  398. #else
  399. void    perl_construct _((PerlInterpreter* sv_interp));
  400. void    perl_destruct _((PerlInterpreter* sv_interp));
  401. #endif
  402. VIRTUAL SV*    perl_eval_pv _((char* p, I32 croak_on_error));
  403. VIRTUAL I32    perl_eval_sv _((SV* sv, I32 flags));
  404. #ifdef PERL_OBJECT
  405. VIRTUAL void    perl_free _((void));
  406. #else
  407. void    perl_free _((PerlInterpreter* sv_interp));
  408. #endif
  409. VIRTUAL SV*    perl_get_sv _((char* name, I32 create));
  410. VIRTUAL AV*    perl_get_av _((char* name, I32 create));
  411. VIRTUAL HV*    perl_get_hv _((char* name, I32 create));
  412. VIRTUAL CV*    perl_get_cv _((char* name, I32 create));
  413. VIRTUAL int    perl_init_i18nl10n _((int printwarn));
  414. VIRTUAL int    perl_init_i18nl14n _((int printwarn));
  415. VIRTUAL void    perl_new_collate _((char* newcoll));
  416. VIRTUAL void    perl_new_ctype _((char* newctype));
  417. VIRTUAL void    perl_new_numeric _((char* newcoll));
  418. VIRTUAL void    perl_set_numeric_local _((void));
  419. VIRTUAL void    perl_set_numeric_standard _((void));
  420. #ifdef PERL_OBJECT
  421. VIRTUAL int    perl_parse _((void(*xsinit)(CPerlObj*), int argc, char** argv, char** env));
  422. #else
  423. int    perl_parse _((PerlInterpreter* sv_interp, void(*xsinit)(void), int argc, char** argv, char** env));
  424. #endif
  425. VIRTUAL void    perl_require_pv _((char* pv));
  426. #define perl_requirepv perl_require_pv
  427. #ifdef PERL_OBJECT
  428. VIRTUAL int    perl_run _((void));
  429. #else
  430. int    perl_run _((PerlInterpreter* sv_interp));
  431. #endif
  432. VIRTUAL void    pidgone _((int pid, int status));
  433. VIRTUAL void    pmflag _((U16* pmfl, int ch));
  434. VIRTUAL OP*    pmruntime _((OP* pm, OP* expr, OP* repl));
  435. VIRTUAL OP*    pmtrans _((OP* o, OP* expr, OP* repl));
  436. VIRTUAL OP*    pop_return _((void));
  437. VIRTUAL void    pop_scope _((void));
  438. VIRTUAL OP*    prepend_elem _((I32 optype, OP* head, OP* tail));
  439. VIRTUAL void    push_return _((OP* o));
  440. VIRTUAL void    push_scope _((void));
  441. VIRTUAL OP*    ref _((OP* o, I32 type));
  442. VIRTUAL OP*    refkids _((OP* o, I32 type));
  443. VIRTUAL void    regdump _((regexp* r));
  444. VIRTUAL I32    pregexec _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave));
  445. VIRTUAL void    pregfree _((struct regexp* r));
  446. VIRTUAL regexp*    pregcomp _((char* exp, char* xend, PMOP* pm));
  447. VIRTUAL I32    regexec_flags _((regexp* prog, char* stringarg, char* strend,
  448.              char* strbeg, I32 minend, SV* screamer,
  449.              void* data, U32 flags));
  450. VIRTUAL regnode* regnext _((regnode* p));
  451. VIRTUAL void    regprop _((SV* sv, regnode* o));
  452. VIRTUAL void    repeatcpy _((char* to, char* from, I32 len, I32 count));
  453. VIRTUAL char*    rninstr _((char* big, char* bigend, char* little, char* lend));
  454. VIRTUAL Sighandler_t rsignal _((int i, Sighandler_t t));
  455. VIRTUAL int    rsignal_restore _((int i, Sigsave_t* t));
  456. VIRTUAL int    rsignal_save _((int i, Sighandler_t t1, Sigsave_t* t2));
  457. VIRTUAL Sighandler_t rsignal_state _((int i));
  458. VIRTUAL void    rxres_free _((void** rsp));
  459. VIRTUAL void    rxres_restore _((void** rsp, REGEXP* prx));
  460. VIRTUAL void    rxres_save _((void** rsp, REGEXP* prx));
  461. #ifndef HAS_RENAME
  462. VIRTUAL I32    same_dirent _((char* a, char* b));
  463. #endif
  464. VIRTUAL char*    savepv _((char* sv));
  465. VIRTUAL char*    savepvn _((char* sv, I32 len));
  466. VIRTUAL void    savestack_grow _((void));
  467. VIRTUAL void    save_aelem _((AV* av, I32 idx, SV **sptr));
  468. VIRTUAL void    save_aptr _((AV** aptr));
  469. VIRTUAL AV*    save_ary _((GV* gv));
  470. VIRTUAL void    save_clearsv _((SV** svp));
  471. VIRTUAL void    save_delete _((HV* hv, char* key, I32 klen));
  472. #ifndef titan  /* TitanOS cc can't handle this */
  473. #ifdef PERL_OBJECT
  474. typedef void (CPerlObj::*DESTRUCTORFUNC) _((void*));
  475. VIRTUAL void    save_destructor _((DESTRUCTORFUNC f, void* p));
  476. #else
  477. void    save_destructor _((void (*f)(void*), void* p));
  478. #endif
  479. #endif /* titan */
  480. VIRTUAL void    save_freesv _((SV* sv));
  481. VIRTUAL void    save_freeop _((OP* o));
  482. VIRTUAL void    save_freepv _((char* pv));
  483. VIRTUAL void    save_gp _((GV* gv, I32 empty));
  484. VIRTUAL HV*    save_hash _((GV* gv));
  485. VIRTUAL void    save_helem _((HV* hv, SV *key, SV **sptr));
  486. VIRTUAL void    save_hints _((void));
  487. VIRTUAL void    save_hptr _((HV** hptr));
  488. VIRTUAL void    save_I16 _((I16* intp));
  489. VIRTUAL void    save_I32 _((I32* intp));
  490. VIRTUAL void    save_int _((int* intp));
  491. VIRTUAL void    save_item _((SV* item));
  492. VIRTUAL void    save_iv _((IV* iv));
  493. VIRTUAL void    save_list _((SV** sarg, I32 maxsarg));
  494. VIRTUAL void    save_long _((long* longp));
  495. VIRTUAL void    save_nogv _((GV* gv));
  496. VIRTUAL void    save_op _((void));
  497. VIRTUAL SV*    save_scalar _((GV* gv));
  498. VIRTUAL void    save_pptr _((char** pptr));
  499. VIRTUAL void    save_sptr _((SV** sptr));
  500. VIRTUAL SV*    save_svref _((SV** sptr));
  501. VIRTUAL SV**    save_threadsv _((PADOFFSET i));
  502. VIRTUAL OP*    sawparens _((OP* o));
  503. VIRTUAL OP*    scalar _((OP* o));
  504. VIRTUAL OP*    scalarkids _((OP* o));
  505. VIRTUAL OP*    scalarseq _((OP* o));
  506. VIRTUAL OP*    scalarvoid _((OP* o));
  507. VIRTUAL UV    scan_hex _((char* start, I32 len, I32* retlen));
  508. VIRTUAL char*    scan_num _((char* s));
  509. VIRTUAL UV    scan_oct _((char* start, I32 len, I32* retlen));
  510. VIRTUAL OP*    scope _((OP* o));
  511. VIRTUAL char*    screaminstr _((SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last));
  512. #ifndef VMS
  513. VIRTUAL I32    setenv_getix _((char* nam));
  514. #endif
  515. VIRTUAL void    setdefout _((GV* gv));
  516. VIRTUAL char*    sharepvn _((char* sv, I32 len, U32 hash));
  517. VIRTUAL HEK*    share_hek _((char* sv, I32 len, U32 hash));
  518. VIRTUAL Signal_t sighandler _((int sig));
  519. VIRTUAL SV**    stack_grow _((SV** sp, SV**p, int n));
  520. VIRTUAL I32    start_subparse _((I32 is_format, U32 flags));
  521. VIRTUAL void    sub_crush_depth _((CV* cv));
  522. VIRTUAL bool    sv_2bool _((SV* sv));
  523. VIRTUAL CV*    sv_2cv _((SV* sv, HV** st, GV** gvp, I32 lref));
  524. VIRTUAL IO*    sv_2io _((SV* sv));
  525. VIRTUAL IV    sv_2iv _((SV* sv));
  526. VIRTUAL SV*    sv_2mortal _((SV* sv));
  527. VIRTUAL double    sv_2nv _((SV* sv));
  528. VIRTUAL char*    sv_2pv _((SV* sv, STRLEN* lp));
  529. VIRTUAL UV    sv_2uv _((SV* sv));
  530. VIRTUAL IV    sv_iv _((SV* sv));
  531. VIRTUAL UV    sv_uv _((SV* sv));
  532. VIRTUAL double    sv_nv _((SV* sv));
  533. VIRTUAL char *    sv_pvn _((SV *sv, STRLEN *len));
  534. VIRTUAL I32    sv_true _((SV *sv));
  535. VIRTUAL void    sv_add_arena _((char* ptr, U32 size, U32 flags));
  536. VIRTUAL int    sv_backoff _((SV* sv));
  537. VIRTUAL SV*    sv_bless _((SV* sv, HV* stash));
  538. VIRTUAL void    sv_catpvf _((SV* sv, const char* pat, ...));
  539. VIRTUAL void    sv_catpv _((SV* sv, char* ptr));
  540. VIRTUAL void    sv_catpvn _((SV* sv, char* ptr, STRLEN len));
  541. VIRTUAL void    sv_catsv _((SV* dsv, SV* ssv));
  542. VIRTUAL void    sv_chop _((SV* sv, char* ptr));
  543. VIRTUAL void    sv_clean_all _((void));
  544. VIRTUAL void    sv_clean_objs _((void));
  545. VIRTUAL void    sv_clear _((SV* sv));
  546. VIRTUAL I32    sv_cmp _((SV* sv1, SV* sv2));
  547. VIRTUAL I32    sv_cmp_locale _((SV* sv1, SV* sv2));
  548. #ifdef USE_LOCALE_COLLATE
  549. VIRTUAL char*    sv_collxfrm _((SV* sv, STRLEN* nxp));
  550. #endif
  551. VIRTUAL OP*    sv_compile_2op _((SV* sv, OP** startp, char* code, AV** avp));
  552. VIRTUAL void    sv_dec _((SV* sv));
  553. VIRTUAL void    sv_dump _((SV* sv));
  554. VIRTUAL bool    sv_derived_from _((SV* sv, char* name));
  555. VIRTUAL I32    sv_eq _((SV* sv1, SV* sv2));
  556. VIRTUAL void    sv_free _((SV* sv));
  557. VIRTUAL void    sv_free_arenas _((void));
  558. VIRTUAL char*    sv_gets _((SV* sv, PerlIO* fp, I32 append));
  559. #ifndef DOSISH
  560. VIRTUAL char*    sv_grow _((SV* sv, I32 newlen));
  561. #else
  562. VIRTUAL char*    sv_grow _((SV* sv, unsigned long newlen));
  563. #endif
  564. VIRTUAL void    sv_inc _((SV* sv));
  565. VIRTUAL void    sv_insert _((SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen));
  566. VIRTUAL int    sv_isa _((SV* sv, char* name));
  567. VIRTUAL int    sv_isobject _((SV* sv));
  568. VIRTUAL STRLEN    sv_len _((SV* sv));
  569. VIRTUAL void    sv_magic _((SV* sv, SV* obj, int how, char* name, I32 namlen));
  570. VIRTUAL SV*    sv_mortalcopy _((SV* oldsv));
  571. VIRTUAL SV*    sv_newmortal _((void));
  572. VIRTUAL SV*    sv_newref _((SV* sv));
  573. VIRTUAL char*    sv_peek _((SV* sv));
  574. VIRTUAL char*    sv_pvn_force _((SV* sv, STRLEN* lp));
  575. VIRTUAL char*    sv_reftype _((SV* sv, int ob));
  576. VIRTUAL void    sv_replace _((SV* sv, SV* nsv));
  577. VIRTUAL void    sv_report_used _((void));
  578. VIRTUAL void    sv_reset _((char* s, HV* stash));
  579. VIRTUAL void    sv_setpvf _((SV* sv, const char* pat, ...));
  580. VIRTUAL void    sv_setiv _((SV* sv, IV num));
  581. VIRTUAL void    sv_setpviv _((SV* sv, IV num));
  582. VIRTUAL void    sv_setuv _((SV* sv, UV num));
  583. VIRTUAL void    sv_setnv _((SV* sv, double num));
  584. VIRTUAL SV*    sv_setref_iv _((SV* rv, char* classname, IV iv));
  585. VIRTUAL SV*    sv_setref_nv _((SV* rv, char* classname, double nv));
  586. VIRTUAL SV*    sv_setref_pv _((SV* rv, char* classname, void* pv));
  587. VIRTUAL SV*    sv_setref_pvn _((SV* rv, char* classname, char* pv, I32 n));
  588. VIRTUAL void    sv_setpv _((SV* sv, const char* ptr));
  589. VIRTUAL void    sv_setpvn _((SV* sv, const char* ptr, STRLEN len));
  590. VIRTUAL void    sv_setsv _((SV* dsv, SV* ssv));
  591. VIRTUAL void    sv_taint _((SV* sv));
  592. VIRTUAL bool    sv_tainted _((SV* sv));
  593. VIRTUAL int    sv_unmagic _((SV* sv, int type));
  594. VIRTUAL void    sv_unref _((SV* sv));
  595. VIRTUAL void    sv_untaint _((SV* sv));
  596. VIRTUAL bool    sv_upgrade _((SV* sv, U32 mt));
  597. VIRTUAL void    sv_usepvn _((SV* sv, char* ptr, STRLEN len));
  598. VIRTUAL void    sv_vcatpvfn _((SV* sv, const char* pat, STRLEN patlen,
  599.                va_list* args, SV** svargs, I32 svmax,
  600.                bool *used_locale));
  601. VIRTUAL void    sv_vsetpvfn _((SV* sv, const char* pat, STRLEN patlen,
  602.                va_list* args, SV** svargs, I32 svmax,
  603.                bool *used_locale));
  604. VIRTUAL void    taint_env _((void));
  605. VIRTUAL void    taint_proper _((const char* f, char* s));
  606. #ifdef UNLINK_ALL_VERSIONS
  607. VIRTUAL I32    unlnk _((char* f));
  608. #endif
  609. #ifdef USE_THREADS
  610. VIRTUAL void    unlock_condpair _((void* svv));
  611. #endif
  612. VIRTUAL void    unsharepvn _((char* sv, I32 len, U32 hash));
  613. VIRTUAL void    unshare_hek _((HEK* hek));
  614. VIRTUAL void    utilize _((int aver, I32 floor, OP* version, OP* id, OP* arg));
  615. VIRTUAL void    vivify_defelem _((SV* sv));
  616. VIRTUAL void    vivify_ref _((SV* sv, U32 to_what));
  617. VIRTUAL I32    wait4pid _((int pid, int* statusp, int flags));
  618. VIRTUAL void    warn _((const char* pat,...));
  619. VIRTUAL void    watch _((char** addr));
  620. VIRTUAL I32    whichsig _((char* sig));
  621. VIRTUAL int    yyerror _((char* s));
  622. VIRTUAL int    yylex _((void));
  623. VIRTUAL int    yyparse _((void));
  624. VIRTUAL int    yywarn _((char* s));
  625.  
  626. #ifndef MYMALLOC
  627. VIRTUAL Malloc_t safemalloc _((MEM_SIZE nbytes));
  628. VIRTUAL Malloc_t safecalloc _((MEM_SIZE elements, MEM_SIZE size));
  629. VIRTUAL Malloc_t saferealloc _((Malloc_t where, MEM_SIZE nbytes));
  630. VIRTUAL Free_t   safefree _((Malloc_t where));
  631. #endif
  632.  
  633. #ifdef LEAKTEST
  634. VIRTUAL Malloc_t safexmalloc _((I32 x, MEM_SIZE size));
  635. VIRTUAL Malloc_t safexcalloc _((I32 x, MEM_SIZE elements, MEM_SIZE size));
  636. VIRTUAL Malloc_t safexrealloc _((Malloc_t where, MEM_SIZE size));
  637. VIRTUAL void     safexfree _((Malloc_t where));
  638. #endif
  639.  
  640. #ifdef PERL_GLOBAL_STRUCT
  641. VIRTUAL struct perl_vars *Perl_GetVars _((void));
  642. #endif
  643.  
  644. #ifdef PERL_OBJECT
  645. protected:
  646. void hsplit _((HV *hv));
  647. void hfreeentries _((HV *hv));
  648. HE* more_he _((void));
  649. HE* new_he _((void));
  650. void del_he _((HE *p));
  651. HEK *save_hek _((char *str, I32 len, U32 hash));
  652. SV *mess_alloc _((void));
  653. void gv_init_sv _((GV *gv, I32 sv_type));
  654. SV *save_scalar_at _((SV **sptr));
  655. IV asIV _((SV* sv));
  656. UV asUV _((SV* sv));
  657. SV *more_sv _((void));
  658. XPVIV *more_xiv _((void));
  659. XPVNV *more_xnv _((void));
  660. XPV *more_xpv _((void));
  661. XRV *more_xrv _((void));
  662. XPVIV *new_xiv _((void));
  663. XPVNV *new_xnv _((void));
  664. XPV *new_xpv _((void));
  665. XRV *new_xrv _((void));
  666. void del_xiv _((XPVIV* p));
  667. void del_xnv _((XPVNV* p));
  668. void del_xpv _((XPV* p));
  669. void del_xrv _((XRV* p));
  670. void sv_mortalgrow _((void));
  671. void sv_unglob _((SV* sv));
  672. void sv_check_thinkfirst _((SV *sv));
  673. I32 avhv_index_sv _((SV* sv));
  674.  
  675. void do_report_used _((SV *sv));
  676. void do_clean_objs _((SV *sv));
  677. void do_clean_named_objs _((SV *sv));
  678. void do_clean_all _((SV *sv));
  679. void not_a_number _((SV *sv));
  680. void* my_safemalloc _((MEM_SIZE size));
  681.  
  682. typedef void (CPerlObj::*SVFUNC) _((SV*));
  683. void visit _((SVFUNC f));
  684.  
  685. typedef I32 (CPerlObj::*SVCOMPARE) _((SV*, SV*));
  686. void qsortsv _((SV ** array, size_t num_elts, SVCOMPARE f));
  687. I32 sortcv _((SV *a, SV *b));
  688. void save_magic _((MGS *mgs, SV *sv));
  689. int magic_methpack _((SV *sv, MAGIC *mg, char *meth));
  690. int magic_methcall _((MAGIC *mg, char *meth, I32 flags, int n, SV *val));
  691. OP * doform _((CV *cv, GV *gv, OP *retop));
  692. void doencodes _((SV* sv, char* s, I32 len));
  693. SV* refto _((SV* sv));
  694. U32 seed _((void));
  695. OP *docatch _((OP *o));
  696. OP *dofindlabel _((OP *o, char *label, OP **opstack, OP **oplimit));
  697. void doparseform _((SV *sv));
  698. I32 dopoptoeval _((I32 startingblock));
  699. I32 dopoptolabel _((char *label));
  700. I32 dopoptoloop _((I32 startingblock));
  701. I32 dopoptosub _((I32 startingblock));
  702. I32 dopoptosub_at _((PERL_CONTEXT* cxstk, I32 startingblock));
  703. void save_lines _((AV *array, SV *sv));
  704. OP *doeval _((int gimme, OP** startop));
  705. SV *mul128 _((SV *sv, U8 m));
  706. SV *is_an_int _((char *s, STRLEN l));
  707. int div128 _((SV *pnum, bool *done));
  708.  
  709. int runops_standard _((void));
  710. int runops_debug _((void));
  711.  
  712. void check_uni _((void));
  713. void  force_next _((I32 type));
  714. char *force_version _((char *start));
  715. char *force_word _((char *start, int token, int check_keyword, int allow_pack, int allow_tick));
  716. SV *tokeq _((SV *sv));
  717. char *scan_const _((char *start));
  718. char *scan_formline _((char *s));
  719. char *scan_heredoc _((char *s));
  720. char *scan_ident _((char *s, char *send, char *dest, STRLEN destlen, I32 ck_uni));
  721. char *scan_inputsymbol _((char *start));
  722. char *scan_pat _((char *start, I32 type));
  723. char *scan_str _((char *start));
  724. char *scan_subst _((char *start));
  725. char *scan_trans _((char *start));
  726. char *scan_word _((char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp));
  727. char *skipspace _((char *s));
  728. void checkcomma _((char *s, char *name, char *what));
  729. void force_ident _((char *s, int kind));
  730. void incline _((char *s));
  731. int intuit_method _((char *s, GV *gv));
  732. int intuit_more _((char *s));
  733. I32 lop _((I32 f, expectation x, char *s));
  734. void missingterm _((char *s));
  735. void no_op _((char *what, char *s));
  736. void set_csh _((void));
  737. I32 sublex_done _((void));
  738. I32 sublex_push _((void));
  739. I32 sublex_start _((void));
  740. #ifdef CRIPPLED_CC
  741. int uni _((I32 f, char *s));
  742. #endif
  743. char * filter_gets _((SV *sv, PerlIO *fp, STRLEN append));
  744. SV *new_constant _((char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type));
  745. int ao _((int toketype));
  746. void depcom _((void));
  747. #ifdef WIN32
  748. I32 win32_textfilter _((int idx, SV *sv, int maxlen));
  749. #endif
  750. char* incl_perldb _((void));
  751. SV *isa_lookup _((HV *stash, char *name, int len, int level));
  752. CV *get_db_sub _((SV **svp, CV *cv));
  753. I32 list_assignment _((OP *o));
  754. void bad_type _((I32 n, char *t, char *name, OP *kid));
  755. OP *modkids _((OP *o, I32 type));
  756. OP *no_fh_allowed _((OP *o));
  757. OP *scalarboolean _((OP *o));
  758. OP *too_few_arguments _((OP *o, char* name));
  759. OP *too_many_arguments _((OP *o, char* name));
  760. void null _((OP* o));
  761. PADOFFSET pad_findlex _((char* name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix));
  762. OP *newDEFSVOP _((void));
  763. char* gv_ename _((GV *gv));
  764. CV *cv_clone2 _((CV *proto, CV *outside));
  765.  
  766. void find_beginning _((void));
  767. void forbid_setid _((char *));
  768. void incpush _((char *, int));
  769. void init_interp _((void));
  770. void init_ids _((void));
  771. void init_debugger _((void));
  772. void init_lexer _((void));
  773. void init_main_stash _((void));
  774. #ifdef USE_THREADS
  775. struct perl_thread * init_main_thread _((void));
  776. #endif /* USE_THREADS */
  777. void init_perllib _((void));
  778. void init_postdump_symbols _((int, char **, char **));
  779. void init_predump_symbols _((void));
  780. void my_exit_jump _((void)) __attribute__((noreturn));
  781. void nuke_stacks _((void));
  782. void open_script _((char *, bool, SV *, int *fd));
  783. void usage _((char *));
  784. void validate_suid _((char *, char*, int));
  785.  
  786. regnode *reg _((I32, I32 *));
  787. regnode *reganode _((U8, U32));
  788. regnode *regatom _((I32 *));
  789. regnode *regbranch _((I32 *, I32));
  790. void regc _((U8, char *));
  791. regnode *regclass _((void));
  792. I32 regcurly _((char *));
  793. regnode *reg_node _((U8));
  794. regnode *regpiece _((I32 *));
  795. void reginsert _((U8, regnode *));
  796. void regoptail _((regnode *, regnode *));
  797. void regset _((char *, I32));
  798. void regtail _((regnode *, regnode *));
  799. char* regwhite _((char *, char *));
  800. char* nextchar _((void));
  801. regnode *dumpuntil _((regnode *start, regnode *node, regnode *last, SV* sv, I32 l));
  802. void scan_commit _((scan_data_t *data));
  803. I32 study_chunk _((regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 flags));
  804. I32 add_data _((I32 n, char *s));
  805. void    re_croak2 _((const char* pat1,const char* pat2,...)) __attribute__((noreturn));
  806. I32 regmatch _((regnode *prog));
  807. I32 regrepeat _((regnode *p, I32 max));
  808. I32 regrepeat_hard _((regnode *p, I32 max, I32 *lp));
  809. I32 regtry _((regexp *prog, char *startpos));
  810. bool reginclass _((char *p, I32 c));
  811. CHECKPOINT regcppush _((I32 parenfloor));
  812. char * regcppop _((void));
  813. void dump _((char *pat,...));
  814. #ifdef WIN32
  815. int do_aspawn _((void *vreally, void **vmark, void **vsp));
  816. #endif
  817.  
  818. #ifdef DEBUGGING
  819. void del_sv _((SV *p));
  820. #endif
  821. void debprof _((OP *o));
  822.  
  823. void *bset_obj_store _((void *obj, I32 ix));
  824. OP *new_logop _((I32 type, I32 flags, OP **firstp, OP **otherp));
  825.  
  826. #define PPDEF(s) OP* CPerlObj::s _((ARGSproto));
  827. public:
  828.  
  829. #include "pp_proto.h"
  830.  
  831. OP * ck_ftst _((OP *o));
  832. OP *ck_anoncode _((OP *o));
  833. OP *ck_bitop _((OP *o));
  834. OP *ck_concat _((OP *o));
  835. OP *ck_spair _((OP *o));
  836. OP *ck_delete _((OP *o));
  837. OP *ck_eof _((OP *o));
  838. OP *ck_eval _((OP *o));
  839. OP *ck_exec _((OP *o));
  840. OP *ck_exists _((OP *o));
  841. OP *ck_rvconst _((OP *o));
  842. OP *ck_fun _((OP *o));
  843. OP *ck_glob _((OP *o));
  844. OP *ck_grep _((OP *o));
  845. OP *ck_index _((OP *o));
  846. OP *ck_lengthconst _((OP *o));
  847. OP *ck_lfun _((OP *o));
  848. OP *ck_rfun _((OP *o));
  849. OP *ck_listiob _((OP *o));
  850. OP *ck_fun_locale _((OP *o));
  851. OP *ck_scmp _((OP *o));
  852. OP *ck_match _((OP *o));
  853. OP *ck_null _((OP *o));
  854. OP *ck_repeat _((OP *o));
  855. OP *ck_require _((OP *o));
  856. OP *ck_select _((OP *o));
  857. OP *ck_shift _((OP *o));
  858. OP *ck_sort _((OP *o));
  859. OP *ck_split _((OP *o));
  860. OP *ck_subr _((OP *o));
  861. OP *ck_svconst _((OP *o));
  862. OP *ck_trunc _((OP *o));
  863. void unwind_handler_stack _((void *p));
  864. void restore_magic _((void *p));
  865. void restore_rsfp _((void *f));
  866. void restore_expect _((void *e));
  867. void restore_lex_expect _((void *e));
  868. void yydestruct _((void *ptr));
  869. VIRTUAL int fprintf _((PerlIO *pf, const char *pat, ...));
  870. VIRTUAL SV**    get_specialsv_list _((void));
  871.  
  872. #ifdef WIN32
  873. VIRTUAL int&    ErrorNo _((void));
  874. #endif    /* WIN32 */
  875. #else    /* !PERL_OBJECT */
  876. END_EXTERN_C
  877. #endif    /* PERL_OBJECT */
  878.  
  879. #ifdef INDIRECT_BGET_MACROS
  880. VIRTUAL void byterun _((struct bytestream bs));
  881. #else
  882. VIRTUAL void byterun _((PerlIO *fp));
  883. #endif /* INDIRECT_BGET_MACROS */
  884.  
  885. VIRTUAL void    sv_catpvf_mg _((SV *sv, const char* pat, ...));
  886. VIRTUAL void    sv_catpv_mg _((SV *sv, char *ptr));
  887. VIRTUAL void    sv_catpvn_mg _((SV *sv, char *ptr, STRLEN len));
  888. VIRTUAL void    sv_catsv_mg _((SV *dstr, SV *sstr));
  889. VIRTUAL void    sv_setpvf_mg _((SV *sv, const char* pat, ...));
  890. VIRTUAL void    sv_setiv_mg _((SV *sv, IV i));
  891. VIRTUAL void    sv_setpviv_mg _((SV *sv, IV iv));
  892. VIRTUAL void    sv_setuv_mg _((SV *sv, UV u));
  893. VIRTUAL void    sv_setnv_mg _((SV *sv, double num));
  894. VIRTUAL void    sv_setpv_mg _((SV *sv, const char *ptr));
  895. VIRTUAL void    sv_setpvn_mg _((SV *sv, const char *ptr, STRLEN len));
  896. VIRTUAL void    sv_setsv_mg _((SV *dstr, SV *sstr));
  897. VIRTUAL void    sv_usepvn_mg _((SV *sv, char *ptr, STRLEN len));
  898.  
  899. /* New virtual functions must be added here to maintain binary
  900.  * compatablity with PERL_OBJECT
  901.  */
  902.  
  903.